#ifndef LRCPAGE_H
#define LRCPAGE_H

#include <QWidget>
#include <QPropertyAnimation>
#include <QFile>
#include <QDebug>

namespace Ui {
class LrcPage;
}

//添加一个lrc歌词的类来存放对应的歌词信息
struct LrcLine
{
    qint64 time;        //存放时间
    QString text;       //存放单行歌词内容
    LrcLine(qint64& qtime,const QString& qtext)
        :time(qtime),text(qtext)
    {}
};

class LrcPage : public QWidget
{
    Q_OBJECT

public:
    explicit LrcPage(QWidget *parent = nullptr);
    ~LrcPage();
    bool praseLrc(const QString& lrcPath);
    int getLineWordIndex(qint64 pos);       //通过时间来获取歌词数据列表的下标
    QString getLrcWord(int index);          //通过下标找到对应的歌词
    void showLrcWord(qint64 time);          //通过时间来展示歌词
    void showLrcTopInfo(const QString& singer,const QString& musicName);                  //设置头部的歌曲名字和作家
private:
    Ui::LrcPage *ui;
    QPropertyAnimation* animation;      //控制关闭lrc歌词的时候的动画效果
    QVector<LrcLine> LrcLines;          //用来存放所有的歌词
};

#endif // LRCPAGE_H
